
package com.joolun.cloud.mall.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.joolun.cloud.common.core.sensitive.Sensitive;
import com.joolun.cloud.common.core.sensitive.SensitiveTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;

/**
 * 店铺入驻申请表
 *
 * @author www.joolun.com
 * @date 2020-10-28 10:39:58
 */
@Data
@TableName("shop_apply")
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "店铺入驻申请表")
public class ShopApply extends Model<ShopApply> {
    private static final long serialVersionUID=1L;

    /**
     * PK
     */
    @TableId(type = IdType.ASSIGN_ID)
    @NotNull(message = "PK不能为空")
    @ApiModelProperty(value = "PK")
    private String id;
    /**
     * 所属租户
     */
    @NotNull(message = "所属租户不能为空")
    @ApiModelProperty(value = "所属租户")
    private String tenantId;
    /**
     * 逻辑删除标记（0：显示；1：隐藏）
     */
    @NotNull(message = "逻辑删除标记（0：显示；1：隐藏）不能为空")
    @ApiModelProperty(value = "逻辑删除标记（0：显示；1：隐藏）")
    private String delFlag;
    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 最后更新时间
     */
    @NotNull(message = "最后更新时间不能为空")
    @ApiModelProperty(value = "最后更新时间")
    private LocalDateTime updateTime;
    /**
     * 电话号码
     */
    @NotNull(message = "电话号码不能为空")
    @ApiModelProperty(value = "电话号码")
	@Sensitive(type = SensitiveTypeEnum.MOBILE_PHONE)
    private String phone;
    /**
     * 店铺名
     */
    @NotNull(message = "店铺名不能为空")
    @ApiModelProperty(value = "店铺名")
    private String name;
    /**
     * 图片
     */
    @NotNull(message = "图片不能为空")
    @ApiModelProperty(value = "图片")
    private String imgUrl;
    /**
     * 所在城市
     */
    @ApiModelProperty(value = "所在城市")
    private String city;
    /**
     * 所在国家
     */
    @ApiModelProperty(value = "所在国家")
    private String country;
    /**
     * 所在省份
     */
    @ApiModelProperty(value = "所在省份")
    private String province;
    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址")
    private String address;
    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private String longitude;
    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private String latitude;
    /**
     * 详细介绍
     */
    @ApiModelProperty(value = "详细介绍")
    private String detail;
    /**
     * 店长用户名
     */
    @NotNull(message = "店长用户名不能为空")
    @ApiModelProperty(value = "店长用户名")
    private String userUsername;
    /**
     * 店长密码
     */
    @NotNull(message = "店长密码不能为空")
    @ApiModelProperty(value = "店长密码")
    private String userPassword;
    /**
     * 店长手机号
     */
    @NotNull(message = "店长手机号不能为空")
    @ApiModelProperty(value = "店长手机号")
	@Sensitive(type = SensitiveTypeEnum.MOBILE_PHONE)
    private String userPhone;
    /**
     * 店长邮箱
     */
    @NotNull(message = "店长邮箱不能为空")
    @ApiModelProperty(value = "店长邮箱")
    private String userEmail;
    /**
     * 店长头像
     */
    @ApiModelProperty(value = "店长头像")
    private String userAvatar;
    /**
     * 店长昵称（客服系统中展示的名称）
     */
    @ApiModelProperty(value = "店长昵称（客服系统中展示的名称）")
    private String userNickname;
    /**
     * 审核状态（0：审核中；1：审核通过；2：审核不通过）
     */
    @NotNull(message = "审核状态（0：审核中；1：审核通过；2：审核不通过）不能为空")
    @ApiModelProperty(value = "审核状态（0：审核中；1：审核通过；2：审核不通过）")
    private String status;
    /**
     * 审核细节说明
     */
    @ApiModelProperty(value = "审核细节说明")
    private String applyDetail;
    /**
     * 店铺ID；审核通过后才会生成
     */
    @ApiModelProperty(value = "店铺ID；审核通过后才会生成")
    private String shopId;

}
